package com.example.springboot01.service;

import com.example.springboot01.model.TokenModel;
import org.springframework.stereotype.Component;

/**
 * Token 管理服务
 * @Auther: zrd
 * @Date: 2022/6/5/06/05/16:20
 * @Description: com.example.springboot01.service
 */
@Component
public interface TokenManageService {
    /**
     * 创建token
     * @param userId：用户id
     * @param userType:用户类型
     * @return token字符串
     */
    String createToken(String userId,String userType);

    /**
     * 校验token
     * @param token  token字符串
     * @return      true 成功，false 失败
     */
    boolean checkToken(String token);

    /**
     * 解析token
     * @param token token字符串
     * @return      tokenModel对象
     */
    TokenModel extractToken(String token);

    /**
     * 根据token获取用户id
     * @param token  token字符串
     * @return     用户id
     */
    String getUserIdFromToken(String token);

    /**
     * 删除token
     * @param token  token字符串
     * @return true 成功，false 失败
     */
    boolean deleteToken(String token);



}
